package com.open.capacity.user.dao;

import com.open.capacity.common.model.Notice;
import org.apache.ibatis.annotations.Mapper;
import org.springframework.web.bind.annotation.RequestParam;

import java.util.List;
import java.util.Map;

@Mapper
public interface NoticeDao {

    /**
     * 获取自己发布的通知
     * @param map
     * @return
     */
    List<Notice> getSelfPublishNotice(Map map);

    /**
     * 获取自己所收到的通知
     */
    List<Notice> getReceivedNotice(String username);

    /**
     * 获取自己的未读通知
     */
    List<Notice> getNoReadNotice(Long userid);

    /**
     * 获取未读通知数
     * @return
     */
    long getNoReadNoticeCount(Long userid);
    /**
     * 获取自己所收到的通知并标记未读通知
     */
    List<Notice> getReceivedAndMarkNoReadNotice(Long userid);

    /**
     * 阅读通知
     */
    int readNotice(@RequestParam("nticid") Integer nticid,@RequestParam("userid") Long userid);
    /**
     * 发布通知
     * @param notice
     * @return
     */
    int publishNotice(Notice notice);

    /**
     * 修改通知
     * @param notice
     * @return
     */
    int updateNotice(Notice notice);

    /**
     * 删除通知
     * @param nticid
     * @return
     */
    int deleteNotice(Integer nticid);
}
